<%

Function usuario_login(login, senha)

			DIM rs
					
			If not isLogin() then
			
				senha = md5(senha)			
				
				str = "Select * FROM usuarios where status=1 AND login='"&login&"' AND senha='"&senha&"'"
				Set rs = conexao_geral.Execute(str)

				If not rs.eof then
				
					DIM id_usuario
								
					set_id rs("id")
					
					id_usuario = get_id()					

					
					if IsIp_alterado(id_usuario)=TRUE then 
						salvar_ip id_usuario
						detectar_fake id_usuario
					End If
					
					usuario_tempo_login id_usuario
					
					DIM condicao
					
					condicao = "id="&id_usuario						
					
					
					If usuario_get(id_usuario, "online") = 0 then
						usuario_registro_gravar id_usuario, "E"
						sql_edicao conexao_geral, "usuarios", "online", 1, condicao 
					End If					
					
					usuario_login = TRUE
				
				Else
					
					usuario_login = FALSE
			
				End If
				
			Else
				
				usuario_login = TRUE
		
			End If

End Function

Function usuario_logout()

	If isLogin() then
	
		usuario_logout_id get_id()
		
		Session.Abandon()	
		
	End If	

End Function

Function atualizar_ultimo_login()
	
	If isLogin() then
	
	
		DIM data, condicao
			
		condicao = "id="&get_id()
		
		data = get_data()
	
		sql_edicao conexao_geral, "usuarios", "ultimo_login", data, condicao 		
		
	End If

End Function

Function login_finalizar_sessoes()
	
		DIM rs, id_usuario, data_atual, data_usu
		
		data_atual = get_data()
		
		str = "Select id, ultimo_login FROM usuarios where online=1"
		Set rs = conexao_geral.Execute(str)
		
		Do while not rs.eof
		
			data_usu = data_pt_en(rs("ultimo_login"))
			id_usuario = rs("id")

			If int(diferenca_datas(data_usu, data_atual, "n")) >= int(configuracoes_get("minutos_finalizar_sessao")) then
			
				usuario_logout_id(id_usuario)
				
			End If
			
		rs.MoveNext
		Loop

End Function

Function usuario_logout_id(id_usuario)
	
		DIM condicao, data, data_atual
		
		condicao = "id="&id_usuario	
		
		ultimo_login = usuario_get(id_usuario, "ultimo_login")
			
		usuario_tempo_login id_usuario
		
		data = get_data()
		
		If usuario_get(id_usuario, "online") = 1 then
		
			data_atual = data	
			data = adicionar_datas(data_pt_en(ultimo_login), configuracoes_get("minutos_finalizar_sessao"), "n")
			data = data_pt_en(data)
			if diferenca_datas(data, data_atual, "n") < 0 then data = data_atual
			usuario_registro_gravar_data id_usuario, "D", data
			sql_edicao conexao_geral, "usuarios", "online", 0, condicao 
			sql_edicao conexao_geral, "usuarios", "ultimo_login", data, condicao 
						
		End If	
		
		usuario_tempo_login_data id_usuario, data

End Function

Function isLogin()

		DIM login

		if isNumeric(get_id()) AND get_id>0 then
		
				login = TRUE
				
				If usuario_get(get_id(), "online") = 0 then 
					Session.Abandon()
					login = FALSE
				End If
		Else
				login = FALSE
		End If
		
		isLogin = login		

End Function

Function set_id(id)

		Session("barbolao_id") = id		

End Function

Function get_id()
	
		get_id = Session("barbolao_id")

End Function

%>
